package com.atguigu.test.po;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.config.BeanPostProcessor;

/**
 * @author zp
 * @version 1.0
 * @description: TODO
 * @date 2022/9/4 16:22
 * Spring 里面包含两种Bean对象 一种是普通的Bean 你声明的class是什么类型就是声明类型
 * 还有一种FactoryBean 声明的对象和返回的对象不一样（实现FactoryBean接口 重写方法 返回的类型由getObject方法决定）
 */
public class MyBean implements FactoryBean<Stu>, BeanPostProcessor {
    @Override
    public Stu getObject() throws Exception {
        return null;
    }

    @Override
    public Class<?> getObjectType() {
        return null;
    }

    @Override
    public boolean isSingleton() {
        return false;
    }
    /**
     * @description:  前置方法
     * @author zp
     * @date: 2022/9/5 19:10
     * @param bean
     * @param beanName
     * @return Object
     */
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return null;
    }
    /**
     * @description:  后置方法
     * @author zp
     * @date: 2022/9/5 19:10
     * @param bean
     * @param beanName
     * @return Object
     */
    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return null;
    }
}
